package com.javasea.patterns.strategy.enums;

import com.javasea.patterns.strategy.base.Stock;

import java.util.List;

public class RankServiceImpl {

    /**
     * 前端传入榜单类型, 返回排序完的榜单
     *
     * @param rankType 榜单类型 形似 RankEnum.HighPrice.name()
     * @return 榜单数据
     */
    public List<Stock> getRank(String rankType) {
        // 获取策略，这里如果未匹配会抛 IllegalArgumentException异常
        RankEnum rank = RankEnum.valueOf(rankType);

        List<Stock> highRise = List.of(new Stock(), new Stock());
        // 然后执行策略
        return rank.sort(highRise);
    }
}
